This invention relates generally to computer networks and more particularly relates to a system and method for recording a network conference.
Multipoint online videoconferences have increased in popularity as an efficient way to conduct meetings. Conferencing systems are available to conduct conferences over local area networks (LANs) or wide area networks (WANs), such as the Internet. Online service providers are available to arrange such conferences over the Internet.
A conference includes the exchange of data streams containing audio, video and sometimes drawings, documents, or other application data among two or more xe2x80x9cattendeesxe2x80x9d client computers. Each attendee computer sends respective audio and video streams to a host or conference server, which, in turn, distributes the data streams as appropriate among all of the attendee computers to create an interactive conference experience. Conferences are typically administered through a centralized conference server generally known as a Multipoint Control Unit (MCU). The MCU is typically allocated by a service provider who has prearranged the online conference. The attendee computers sign onto the MCU at the designated conference time. Ideally, multiple conferences may be handled simultaneously by a given MCU.
Of course, it is established practice to compress conference video and audio streams for transmission over the network to promote network efficiency. As used herein, the terms xe2x80x9craw dataxe2x80x9d and/or xe2x80x9cwire formatxe2x80x9d refers to a compressed, packetized data format used during network transmission, although it should be understood that the term is not limited to transmissions over land based networks, but may include wireless networks as well.
It has been desirable to record conferences for later playback. This may be an optional service of the conference provider. In general, where a meeting is optionally designated as a xe2x80x9crecorded meeting,xe2x80x9d the MCU takes steps to record the meeting at a storage device. Unfortunately, conventional recording systems for multipoint conferences have been problematic due to high processing demands of transcribing the streams to a readily playable format. More specifically, so that conference participation is not complicated by a need for special software, it is sometimes desirable to provide a conference recording which has been encrypted according to a ready-to-play streaming media format (hereinafter xe2x80x9cstandard formatxe2x80x9d) compatible with an associated standard multimedia player. Exemplary standard formats include MPEG, Apple""s Quicktime, and Windows Media Advanced Streaming Format (ASF), and compatible players are easily obtainable, such as by download over the Internet. Each such player implements an associated compression/decompression (codec) algorithm to encode and decode audio and video data.
In previous systems, the generation of a recording has been known to overburden the MCU processor, impeding the performance of real-time communication tasks. More specifically, one known system the MCU has attempted to generate a playable recording by transcribing the streams into a standard format in real time during the conference, prior to storage. This transcribing activity typically involves several processing-intensive tasks. For example, each of the audio streams must be decoded from the compressed wire format used for transmission. The decompressed audio streams were then mixed to form a single audio track, requiring the loading and running of appropriate digital signal processor (DSP) mixing software. Additionally, the mixed audio stream was then re-encoded together with a selected video stream into a standard format file. The MCU then writes the transcribed recording to a connected storage device, such as a hard drive. Unfortunately, each of the transcription tasks consumes significant processing resources.
It should be understood that the primary function of the MCU is to administer the routing of streams in xe2x80x9creal-timexe2x80x9d during the conference. Accordingly, the MCU must have adequate processing resources to keep up with the stream-routing tasks during the conference. However, under the conventional recording system, the MCU processor must concurrently perform the tasks of decoding, mixing, and re-encoding to generate the transcribed recording.
Disadvantageously, the MCU conferencing and recording services are not very scalable under the conventional recording system. The number of conferences and conference participants increases the number of possible incoming audio and video streams which the server must receive and distribute, but in addition, the transcription processing tasks multiply with the number of attendees. For example, in a conference with ten attendees, the processor will typically run a separate thread for each attendee to decode, mix and re-encode the respective audio streams.
Likewise, the conferencing capacity of the MCU is limited by the use of processing resources to transcribe recording data. The number of conferences and attendees which can be administered by the MCU is limited due to a need to reserve adequate processing resources to also handle the recording transcription tasks. More specifically, the MCU is able to handle fewer conferences and attendees than if no transcribing were being performed during the conference. This results in a need for more MCUs to handle a given amount of conferencing activity.
Also, the viewing quality of the conference may be compromised if the MCU processor is overburdened during the conference by tasks independent from the routing process. In particular, the conference data distributed to the attendee clients may be late and/or choppy if the MCU cannot keep up with its stream routing tasks.
In view of the aforementioned problems with scalability and transmission quality, a need exists for a recording method and system which minimize the processing tasks at a server during data transmission. In particular, it is desirable to provide a conference recording method and system which enables transcription tasks associated with recording to be processed independently and separately from communication tasks, both physically and temporally.
In order to generate a recording of a conference without increasing the processing burdens of a computer which administers communications among conference attendees, the present invention provides a storage device that stores only raw, compressed data, and wherein the necessary transcription processing performed after the meeting and before the playback. At a time after the meeting has concluded and prior to playback, the raw meeting data is processed into a playable standardized file format.
In an embodiment, a separate recording unit is provided. In an embodiment, the recording unit connects to the conference in a manner similar to an attendee to xe2x80x9clisten inxe2x80x9dand blindly record the conference data. The recording unit is dedicated to tasks associated with creating a conference recording. Like an attendee computer, the recording unit receives all of the conference audio and video data from the conference server.
By removing the transcribing function from the conference server, the conference server is freed from tasks which it previously handled. The processing capacity of the conference server can thus be dedicated to conference communication tasks. This advantageously results in increased server performance and/or increased capacity to handle an increased number of conferences and/or participants.
More specifically, the recording unit relieves the conference server of burdens associated with compiling a recording during the meeting, such as decompressing the audio streams from all of the computers, mixing audio streams, recompressing the audio, transcribing the data to a playable recording, and writing the recording file to a storage device. The recording unit postpones these tasks until after the conference.
The functions performed by the recording unit enable the conference server to merely coordinate the flow of compressed data streams among the computers of the meeting participants and to the recording unit. No need exists for the conference server to perform any processing associated with recording, including decompression, compression and audio mixing. Notably, by eliminating a compression cycle previously performed at the conventional conference server during the conference, the recording system and method of the invention avoids an associated degradation of the data.
The post-conference allows a high degree of flexibility in the content and format of the multimedia files ultimately generated. For example, separate files can be generated containing audio and/or video of any single attendee, selected attendees or all attendees. Moreover, separate files can be generated according to different standard formats and/or according to various quality levels.
An advantage of the present invention is that it provides a system and method of generating a network conference recording which reduces processing that must take place concurrently with a viewing of the conference.
Another advantage of the present invention is that it provides a system and method of generating a network conference recording which yields an improved conference experience to client attendees.
A further advantage of the present invention is that it provides a system and method of generating a network conference recording which yields an improved playback experience to viewers of the recording.
An additional advantage is to minimize latency and choppiness of the audio and video received played by conference attendees during the conference.
Another advantage of the present invention is that it provides a system and method of generating a network conference recording which minimizes losses in data resolution associated with compression.